const puppeteer = require('puppeteer');
// https://blog.csdn.net/mengxiangxingdong/article/details/99237204
// https://zhaoqize.github.io/puppeteer-api-zh_CN/#/
(async () => {

  //模拟淘宝联盟创建推广位

  const browser = await puppeteer.launch({
    args: [
      '--disable-web-security'
    ],
    headless: false,
    ignoreHTTPSErrors: true,
    defaultViewport: null,
    timeout: 10000,
    devtools: false,
    slowMo: 250,
    executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
  });
  try {
    const page = await browser.newPage();
    await page.setViewport({width: 1920, height: 1080});
    await page.setJavaScriptEnabled(true);
    await page.goto(
        'https://pub.alimama.com/third/manage/record/adzone.htm?siteId=1953900113');

    await page.waitForNavigation({timeout: 200000000})  //等待网页操作
    await page.goto(
        'https://pub.alimama.com/third/manage/record/adzone.htm?siteId=1953900113');

    await page.waitForSelector('.filters .btn-brand');

    console.log("进入了网站推广位管理页面")

    await page.waitForTimeout(5000)

    //最多200个
    //模拟点击 -> 创建推广位
    for (var i = 200; i <= 200; i++) {

      console.log("当前创建。第" + i + "个")

      await page.click('.filters .btn-brand') //点击新建推广位
      await page.waitForTimeout(500)
      await page.type(".dialog-body input[name='adzoneName']", '券小九网站' + i,
          {delay: 200}) //输入推广位名称
      await page.waitForTimeout(500)
      await page.click('.dialog-footer .btn-brand ')  //确定
      await page.waitForTimeout(1000)
    }

    await page.close();

  } catch (e) {
    throw e
  } finally {
    await browser.close();
  }
})();

//【推广位管理页面，收集数据】

function collectPids() {
// 一：切换页显示50条
// 二：执行获取数据js（浏览器调试模式）
  window.pidArr = []

  function getTableData() {
    let $trArr = $('table tr:not(.operation-tr)');
    $trArr.each(function (i, tr) {

      var pid = $(tr).find('td:eq(2)').text();
      var name = $(tr).find('td:eq(1) ').text();
      if (name) { //最后一位是图标
        name = name.substr(0, name.length - 1);
      }

      //添加至数组
      pid && pidArr.push({pid, name})

      //判断最后一行，自动切换下一页
      if (i === $trArr.length - 1) {
        var $nextBtn = $(".pager .pub-threefG[mxa='pub-threeQ:i'] a[href='#']");
        if ($nextBtn.hasClass("pub-threefK")) {
          //最后一页，循环 结束 -> 打印数组

          //排序
          let reg = /[^0-9]/ig    //获取数字
          pidArr.sort(function (a, b) {
            return parseInt(a.name.replace(reg, "")) - parseInt(
                b.name.replace(reg, ""))
          });
          //打印数据
          let txt = '';
          for (let j = 0; j < pidArr.length; j++) {
            txt += "'" + pidArr[j].pid + "','" + pidArr[j].name + "'\n";
          }
          console.log(txt)

        } else {
          //存在下一页 -> 切换下一页
          $nextBtn.trigger('click')
          //得到表格数据
          setTimeout(function () {
            getTableData()
          }, 500)
        }

      }
    })
  }
}

// //【订单明细报表，收集数据】
// // 一：选择付款日期最大区间
// // 二：执行获取数据js（浏览器调试模式）
//
// arr = []
// function getTableData2() {
//     let $trArr = $('table tr:gt(0)');
//     $trArr.each(function (i, tr) {
//         //添加至数组
//         arr.push($(tr).find('.mr5:eq(0)').text())
//
//         //判断最后一行，自动切换下一页
//         if (i === $trArr.length - 1) {
//             var $nextBtn = $('.pub-threeij .pub-threeik:last a');
//             if ($nextBtn.hasClass("pub-threeil")) {
//                 //最后一页，循环 结束 //打印数组
//                 console.log(arr.toString())
//
//             } else {
//                 //存在下一页 -> 切换下一页
//                 $nextBtn.trigger('click')
//                 //得到表格数据
//                 setTimeout(function () {
//                     getTableData2()
//                 }, 500)
//             }
//
//         }
//     })
// }
// //初始化当前表格数据
// getTableData2();

